x11: Fallback to emulated window dragging for touch devices
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 13 Mar 2014 19:19:26 +0000 (20:19 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 17 Mar 2014 17:19:44 +0000 (18:19 +0100)
commitd1d4c602e09c0038cc8e20f3660859af4378b997
treedaaaaa73628ae4d6c7cf3c4c39acbeeddfac6134
parent20c764fc5ea09f0f0160bdf5e57946eccd56613c
x11: Fallback to emulated window dragging for touch devices

Sadly, EWMH moveresize mechanism can't work with touch devices for two
reasons:

1) As a mutter implementation detail, the device is queried in order
to check whether the dragging button is still pressed. Touch devices
won't report the button 1 being pressed through pointer emulation.
2) Even bypassing that check, on X11 touch events are selected prior
to sequences being started, either through XISelectEvents or
XIGrabTouchBegin, no late registering through active grabs is allowed,
as WMs do on reaction to EWMH moveresize messages.

So for the time being, make touch devices fallback on emulated window
dragging, which at least allows for moving windows.

https://bugzilla.gnome.org/show_bug.cgi?id=709914
gdk/x11/gdkwindow-x11.c